const express = require('express')
const app = express()
const port = 3000
const jwt = require('express-jwt')

app.use(express.urlencoded({ exprended: true }))



// 加载静态资源
app.use('/uploads', express.static('./uploads'))
// 设置后就就通过 req.user 获取获取参数
app.use(
    jwt({
        secret: 'user', // 生成token时的 钥匙，必须统一
        algorithms: ['HS256'], // 必填，加密算法，无需了解
    }).unless({
        path: ['/api/v1/user/login'], // 除了这个登录接口，其他都需要认证
    }),
)


app.listen(port, () => console.log(`http://127.0.0.1:3000`))
const category = require('./router/category')
app.use('/api/v1', category)
const user = require('./router/user')
app.use('/api/v1', user)


app.use((err, req, res, next) => {
    // token 验证失败
    if (err.name === 'UnauthorizedError') {
        res.status(403).send({ code: 403, message: '身份认证失败！未登录被禁止访问！' })
    }
})
